1. Field of the Invention
This invention relates to systems and methods for licensing software and hardware in a computing system.
2. Background Information
As computing systems add significant numbers of functions, customers may find that they have need for less than the entire number of functions offered by system vendors. It is desirable for vendors seeking to market large software and hardware products to an increasingly diverse base of customers—and customers who may desire a less-expensive (and more-limited function) version of a system—to selectively license only portions of the total system package.
In the area of proxy caching, where one or more servers are provided to accelerate web content loading, it is common to market a variety of services and functional components in a single hardware/software system. In such a system, the server hardware may consist of a one or more single or multi-processor computers, with customizable amounts of memory, hard disk storage, and other system resources to meet the customer's requirements. The servers may be arranged in a variety of configurations, including standalone caches or caching clusters (where multiple servers are interconnected and work cooperatively).
Furthermore, in such caching systems, caching software may offer a variety of services and caching configurations. Forward Proxy caching allows browsers to send requests for web content directly to a caching server, the caching server in which case obtains copies of the content and forwards it back to the browsers. Transparent Proxy caching allows a caching server to intercept browser requests, obtain the requested content, and return this content to the browsers without browser reconfiguration. Origin to Web Server Acceleration (“reverse proxy” caching) provides content request handling of requests originally targeted to a web server, serving these requests from data stored in the caching server. Other services may include media acceleration, activity logging, and customized network security solutions. Each service may or may not be desirable to a particular customer depending on the customer's individual needs.
While it is desirable for a vendor with a diverse base of clients to market a variety of systems (with different combinations of the above-mentioned hardware and software capabilities), the large number of possible combinations may make this flexibility cost-prohibitive. The expense increases because, traditionally, each combination is configured and often licensed differently.
Similarly, customers may find that they have need for more performance or functionality than is offered by their currently installed system. It is desirable for vendors seeking to offer upgrades to their software and hardware products to provide a mechanism where additional portions of the total system package—and thus additional performance and/or functionality—can be licensed and made available in a quick and easy-to-implement manner, either by activating an already-loaded functional module or enabling download and/or installation of one or more new functional modules.
In the area of proxy caching, such an upgrade may take the form of licensing additional hardware resources (for example, additional processors to increase computational power), or licensing an additional piece of software (for example, a media accelerator). Traditionally, this upgrade would require extensive reconfiguration, especially when the change affects third party products on the same system. As such, incremental upgrades may, again, become cost-prohibitive.
It is, therefore, desirable to provide a system and method for controlling access to software and hardware products with electronic licenses such that functionality and performance can be easily customized and/or upgraded.